package com.kingdee.eas.fi.gl;

import com.kingdee.bos.BOSException;
//import com.kingdee.bos.metadata.*;
import com.kingdee.bos.framework.*;
import com.kingdee.bos.util.*;
import com.kingdee.bos.Context;

import com.kingdee.eas.ma.bg.BgCtrlParam;
import com.kingdee.bos.dao.IObjectPK;
import com.kingdee.eas.framework.IBillBase;
import com.kingdee.eas.framework.CoreBaseCollection;
import com.kingdee.bos.util.*;
import com.kingdee.bos.dao.IObjectValue;
import com.kingdee.bos.Context;
import com.kingdee.bos.BOSException;
import com.kingdee.bos.dao.IObjectCollection;
import com.kingdee.bos.util.BOSUuid;
import java.util.List;
import java.util.Vector;
import java.lang.String;
import com.kingdee.eas.common.EASBizException;
import com.kingdee.bos.metadata.entity.EntityViewInfo;
import com.kingdee.eas.fi.gl.cslacct.CheckViewInfo;
import java.math.BigDecimal;
import java.util.Map;
import java.util.HashMap;
import java.util.Date;
import com.kingdee.eas.fi.cas.JournalCollection;
import com.kingdee.eas.basedata.org.CompanyOrgUnitInfo;
import com.kingdee.bos.metadata.entity.SelectorItemCollection;
import java.util.Set;
import com.kingdee.eas.framework.SystemEnum;
import com.kingdee.eas.framework.CoreBaseInfo;
import java.util.Collection;
import com.kingdee.bos.framework.*;

public interface IVoucher extends IBillBase
{
    public VoucherCollection getVoucherCollection() throws BOSException;
    public VoucherCollection getVoucherCollection(EntityViewInfo view) throws BOSException;
    public VoucherCollection getVoucherCollection(String oql) throws BOSException;
    public IObjectPK exteriorSubmit(IObjectValue model) throws BOSException, EASBizException;
    public IObjectPK exteriorSave(IObjectValue model) throws BOSException, EASBizException;
    public VoucherInfo generateReverseVoucher(String srcVchId, Object[] genParam) throws BOSException, EASBizException;
    public void auditVoucher(IObjectPK pk, BOSUuid auditorId) throws BOSException, EASBizException;
    public void antiAuditVoucher(IObjectPK pk, VoucherStatusEnum preStatus) throws BOSException, EASBizException;
    public void checkVoucher(IObjectPK pk) throws BOSException, EASBizException;
    public void checkVoucher(IObjectCollection journalCollection, IObjectPK pk) throws BOSException, EASBizException;
    public void antiCheckVoucher(IObjectPK pk) throws BOSException, EASBizException;
    public void postVoucher(IObjectPK pk) throws BOSException, EASBizException;
    public void autoPostVoucher(IObjectPK pk) throws BOSException, EASBizException;
    public void antiPostVoucher(IObjectPK pk, VoucherStatusEnum preStatus) throws BOSException, EASBizException;
    public void cancelVoucher(IObjectPK pk) throws BOSException, EASBizException;
    public void antiCancelVoucher(IObjectPK pk, VoucherStatusEnum preStatus) throws BOSException, EASBizException;
    public void bgAuditVoucher(IObjectPK pk) throws BOSException, EASBizException;
    public void antiBgAuditVoucher(IObjectPK pk) throws BOSException, EASBizException;
    public void bgAndAudit(IObjectPK pk) throws BOSException, EASBizException;
    public void antiBgAndAudit(IObjectPK pk) throws BOSException, EASBizException;
    public boolean hasVoucherInCurrentPeriod(BOSUuid prdId, SystemEnum sys) throws BOSException, EASBizException;
    public void setSubmitStatus(IObjectPK pk) throws BOSException, EASBizException;
    public void setCheckStatus(IObjectPK pk) throws BOSException, EASBizException;
    public void setAuditStatus(IObjectPK pk) throws BOSException, EASBizException;
    public VoucherInfo exteriorLazyLoad(VoucherInfo voucherInfo, SelectorItemCollection selectorItemCollection) throws BOSException, EASBizException;
    public BgCtrlParam[] getBgCtrlParamFromVoucher(IObjectPK pk) throws BOSException, EASBizException;
    public boolean existsCashOrBankAccount(IObjectPK pk) throws BOSException, EASBizException;
    public HashMap fetchAllCustProp(Vector entryIds) throws BOSException, EASBizException;
    public void deleteBySys(Vector vecPK, SystemEnum sys) throws BOSException, EASBizException;
    public void deleteWebService(Vector vctPK, CompanyOrgUnitInfo companyOrgUnitInfomation) throws BOSException, EASBizException;
    public void deleteFun(IObjectPK pk) throws BOSException, EASBizException;
    public boolean isHandcraftVoucher(IObjectPK pk) throws BOSException, EASBizException;
    public Collection getReq(BOSUuid vchId) throws BOSException, EASBizException;
    public Collection getReq(CheckViewInfo cond) throws BOSException, EASBizException;
    public void modifyReqStatus(VoucherAssistRecordCollection records) throws BOSException, EASBizException;
    public boolean mustCheckReq(String[] vchIds, String comId, String periodId, Date date) throws BOSException, EASBizException;
    public IObjectPK submitVoucher(IObjectPK pk) throws BOSException, EASBizException;
    public void checkVoucherValidForChecking(String voucherId, VoucherOperateStatusEnum status) throws BOSException, EASBizException;
    public void postVoucherCollection(List pkList) throws BOSException, EASBizException;
    public boolean isAuditStatus(IObjectPK pk) throws BOSException, EASBizException;
    public boolean isPostStatus(IObjectPK pk) throws BOSException, EASBizException;
    public boolean unclosePeriod(VoucherInfo model) throws BOSException;
    public void checkVoucher(VoucherInfo model) throws BOSException, EASBizException;
    public void checkVoucher(String id) throws BOSException, EASBizException;
    public void checkVoucherCollection(List pkList) throws BOSException, EASBizException;
    public void postVoucherCollection(List pkList, GLPeriodEndFilter filter) throws BOSException, EASBizException;
    public void chechVoucherBatch(List pkList) throws BOSException, EASBizException;
    public void postCheckValid(IObjectPK pk) throws BOSException;
    public boolean checkVoucherForAudit(IObjectPK id, String accountNumber, int entryDc, String settlementTypeNumber, BigDecimal amount, String comparetype) throws BOSException, EASBizException;
    public BigDecimal getAmoutBySettlement(IObjectPK id, String accountNUmber, int entryDc, String settlementNumber, BigDecimal amount, String compareType) throws BOSException;
    public void autoAntiPostvoucher(IObjectPK pk) throws BOSException, EASBizException;
    public void checkVoucherByEntry(String entryId) throws BOSException, EASBizException;
    public void checkVoucherValidForCheckingByEntry(String entryid, VoucherOperateStatusEnum status) throws BOSException, EASBizException;
    public void antiCheckVoucherByEntry(IObjectPK entryPK) throws BOSException, EASBizException;
    public void checkVoucherByEntry(JournalCollection coll, IObjectPK entrypk) throws BOSException, EASBizException;
    public void checkVoucherByEntries(Set idsset) throws BOSException, EASBizException;
    public String adjustNumber(String id, boolean isSystem, String number) throws BOSException, EASBizException;
    public List requisitionCheckData(String strPeriod, int unChecked, int checked) throws BOSException, EASBizException;
    public IObjectPK[] batchSave(IObjectCollection voucherCols) throws BOSException, EASBizException;
    public IObjectPK reverseSave(IObjectPK pk) throws BOSException, EASBizException;
    public String managerNumber(String tempNumberq, boolean hasHandNumber, IObjectValue voucher) throws BOSException, EASBizException;
    public VoucherInfo generateReverseVoucherBatch(List srcVchIdList, Object[] genParam) throws BOSException, EASBizException;
    public IObjectPK reverseSaveBatch(List pkList) throws BOSException, EASBizException;
    public void postVoucherOneByOne(IObjectPK pk) throws BOSException, EASBizException;
    public void postSingleVoucher(Map allParam, String vchid, int vchIndex) throws BOSException, EASBizException;
    public IObjectValue getVoucherWithoutPermissionCheck(IObjectPK pk) throws BOSException, EASBizException;
    public boolean auditBackVoucher(IObjectPK pk) throws BOSException, EASBizException;
    public String getOpinionID(IObjectPK pk) throws BOSException, EASBizException;
    public IObjectPK submitAccountAdjustVoucher(VoucherInfo model) throws BOSException, EASBizException;
    public void checkACNoticeCorrelation(String vchId) throws BOSException, EASBizException;
    public void delete(IObjectPK pk, SystemEnum fromSys) throws BOSException, EASBizException;
}